プログラムソースコード file2.py
# coding: utf-8
#既存ファイルへの書き込む 2024/2/26
#まず、ファイルを開く、モードは2種類ある:
#'w' | 書き込み(上書き overwrite) 'a' | 追記
# "w" - Write - will overwrite any existing content
# "a" - Append - will append to the end of the file
#上書き
f = open("demofile.txt", "w")
f.write("aaaaaaを書き込む\n")
f.close()
#後追加する
f = open("demofile.txt", "a")
f.write("bbbbbbを追加する\n")
f.close()
# プログラムの計算結果をファイルに保存する
#例題1 sinを求めるプログラムの計算結果をファイルresult.csvに保存する
import math
f = open("result.csv", "w")
print("sinを求めるプログラムの計算結果をファイルresult.csvに書き込んだ。")
f.write("d, a, sin(a),cos(a) \n")
for d in range(15, 195, 15):
a = math.radians(d)
f.write(f"{d:3g}, {a:5.2f}, {math.sin(a):5.2f}, {math.cos(a):5.2f}\n")
f.close()
#例題2 calendarの出力
import calendar
f = open("calendar2024.txt", "w")
f.write(calendar.calendar(2024))
f.close()
#例題3 mycartのリストを外部ファイルmycart.txtに書き込む
#fruits = {"果物の名前":値段}
fruits = {'林檎': 250, '柿': 150, 'バナナ': 200, 'スイカ': 1000, '葡萄': 450, 'オレンジ': 500}
#mycart{"果物の名前":購入個数}
mycart ={}
#果物をカートに入れる
while True:
name = input("果物の名前: ")
qty = int(input("個数: "))
if name in fruits:
ask = mycart.get(name,-1)
if ask == -1:
mycart[name] = qty
elif ask != -1:
mycart[name] = qty + ask
#重複して入力したキーに対してその値を上書される
else:
print("この果物はない")
next = input("続けるならENTERを、やめるならほかのキーを")
if(next != ""):
break
#非空リストの保存
if not mycart:
print("カートにものを入れしていない")
else:
import datetime
print("外部ファイルmycart.txtに買い物記録を追記しました。")
f = open("mycart.txt", "a")
f.write(f"買い物日時: {datetime.datetime.now()}\n")
f.write(f"買い物内容: {mycart}\n")
f.close()
#ファイルを確認する
print("ファイルを確認する")
fname = input("ファイル名: ")
f = open(fname, "r")
print(f.read())
f.close()
file2.pyプログラム計算結果の表示
result.csv
d, a, sin(a),cos(a)
15, 0.26, 0.26, 0.97
30, 0.52, 0.50, 0.87
45, 0.79, 0.71, 0.71
60, 1.05, 0.87, 0.50
75, 1.31, 0.97, 0.26
90, 1.57, 1.00, 0.00
105, 1.83, 0.97, -0.26
120, 2.09, 0.87, -0.50
135, 2.36, 0.71, -0.71
150, 2.62, 0.50, -0.87
165, 2.88, 0.26, -0.97
180, 3.14, 0.00, -1.00
calendar2024.txt
2024
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1 2 3
8 9 10 11 12 13 14 5 6 7 8 9 10 11 4 5 6 7 8 9 10
15 16 17 18 19 20 21 12 13 14 15 16 17 18 11 12 13 14 15 16 17
22 23 24 25 26 27 28 19 20 21 22 23 24 25 18 19 20 21 22 23 24
29 30 31 26 27 28 29 25 26 27 28 29 30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
mycart.txt
買い物日時: 2024-02-20 11:06:53.438935
買い物内容: {'林檎': 1, 'スイカ': 1}
買い物日時: 2024-02-20 11:14:21.644357
買い物内容: {'林檎': 1}
買い物日時: 2024-02-20 11:29:43.886669
買い物内容: {'スイカ': 1, '葡萄': 2}
買い物日時: 2024-02-20 11:35:08.610870
買い物内容: {'柿': 3}
買い物日時: 2024-02-20 11:37:02.574440
買い物内容: {'バナナ': 3}
買い物日時: 2024-02-20 11:49:20.015715
買い物内容: {'柿': 1}